Delivering electronic content

ABSTRACT

Delivering electronic content includes providing instructions that might cause a computer to collect information including a network address and transmitting the collected information to a receiving computer. The computer that receives the transmitted information selects electronic content based on the received information and sends the selected electronic content to the network address included in the received information. Access to the electronic content might be selectively granted based on criteria.

CROSS-REFERENCE TO RELAYED APPLICATIONS

This is a continuation of U.S. patent application Ser. No. 11/412,827filed Apr. 28, 2006, which is a continuation of U.S. patent applicationSer. No. 09/231,714 filed Jan. 15, 1999, the disclosures of which areincorporated by reference in their entirety.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention generally relates to delivering electronic content.

2. Related Art

The Internet offers a tremendous amount of information on a wide rangeof subjects. Many businesses and organizations offer world-wide-websites that promote products, offer technical assistance, and provideother useful information. Search engines (e.g., Yahoo™) typically canprovide lengthy lists of sites related to any topic of interest. Userstypically do not want to take the time to investigate more than ahandful of these sites. As a result, the vast number of web-sites makesit difficult for web-site providers to lure Internet users to theirrespective sites.

Since the inception of the web, web-pages have featured links to othersites. A link can appear as underlined text (e.g., “please visitdeskgate”), as a picture, or as a sequence of images. Each link has anassociated URL (universal resource locator) that identifies a web-site.A link can be programmed to transport a user to a link's associated URLwhen a user selects the link (e.g., by clicking a mouse button).

To attract users to a site, some businesses rent space on otherweb-pages. For example, as shown in FIG. 1, a newspaper web-page 100includes a variety of links to other sites. As shown, the web-pageincludes a banner 102 (i.e., a picture link in the shape of a banner)linked to a resort's web-site. By selecting the link, the user istransported to the resort's web-page as shown in FIG. 2.

SUMMARY

In general, in one aspect, a method of delivering electronic contentincludes providing instructions that cause a first computer to collectinformation including an e-mail address, and transmitting the collectedinformation to a second computer. The second computer processes thetransmitted information by selecting electronic content for transmissionto the e-mail address and e-mailing the selected electronic content.

Embodiments may include one or more of the following. The instructionscan be web-page instructions such as HTML. The instructions can be of aform. The instructions can collect the information by querying thecomputer or by receiving user input. The information can includedemographic information and/or system information.

The processing can be done by a program such as a script (e.g., a CGIscript). A URL (universal resource locator) displayed at a browser usingthe instructions may not be altered by the transmitting of the collectedinformation. The processing can select electronic content based on thetransmitted information. The electronic content can include text,graphics, audio, video and/or executable instructions.

The information transmitted can include identification of theinstructions that transmitted the information and/or identification of asite that transmitted the information.

In general, in another aspect, a method of delivering electronic contentincludes providing web-page form instructions that cause a firstcomputer to interactively collect an e-mail address from a user andtransmit information including the collected address information to asecond computer. The method further includes processing the transmittedinformation at the second computer by using the transmitted informationto select electronic content and e-mailing the selected electroniccontent to the transmitted e-mail address.

In general, in another aspect, a method of delivering electronic contentincludes storing electronic content corresponding to different sets ofinstructions, receiving a request for electronic content produced by oneof the sets of instructions, the request including a network address,and selecting electronic content from the stored electronic contentbased on the received request. The selected electronic content istransmitted to the network address included in the request.

In general, in another aspect, a computer-implemented method ofproviding access to electronic content includes displaying in a browsera web-page that includes a link corresponding to electronic content andin response to a user's selection of the link, collecting informationwithout modifying the web-page displayed in the browser. The collectedinformation is transmitted to a remote server, and electronic contentfrom the remote server is sent to the e-mail address based on thecollected information.

In general, in another aspect, a computer program, disposed on acomputer readable medium, includes instructions for causing a firstcomputer's processor to receive information collected by instructions ata second computer, and based on the received information, selectelectronic content and transmit the electronic content to an e-mailaddress included in the received information.

Advantages may include one or more of the following. By linking ane-mail based electronic content delivery system to a web-page,businesses can enjoy the benefits of reaching “web-surfers” without thecost and/or computer resources needed to maintain a web-site. Linking inthis manner also provides Internet users with the ability to get moreinformation about a topic without leaving a web-page and without waitingfor graphics and other information to be transmitted to their browser. Abusiness providing electronic content can not only receive demographicdata describing interested users, but also can determine which web-pagesare most effective in producing requests for information.

Other advantages of the invention will become apparent in view of thefollowing description, including the figures, and the claims.

DRAWING DESCRIPTIONS

FIG. 1 is a screenshot of web-page that includes a banner, according toprinciples of the invention.

FIG. 2 is a screenshot of a web-page reached via the banner of FIG. 1.

FIG. 3 is a screenshot of a web-page that includes a link, according toprinciples of the invention.

FIG. 4 is a screenshot of a submission confirmation window, according toprinciples of the invention.

FIG. 5 is a screenshot of an e-mail message including electroniccontent, according to principles of the invention.

FIG. 6 is a listing of web-page instructions, according to principles ofthe invention.

FIGS. 7A-7C are diagrams illustrating delivery of electronic content,according to principles of the invention.

FIG. 7D is a block diagram of an embodiment of electronic content,according to principles of the invention.

FIG. 7E is a flow diagram showing steps of processing notificationinstructions, according to principals of the invention.

FIG. 8 is a flow chart of distribution software, according to principlesof the invention.

FIG. 9 is an exemplary diagram of a computer system, according toprinciples of the invention.

DETAILED DESCRIPTION OF THE INVENTION

Referring to FIG. 3, a web-page 104 viewed by a network browser (e.g.,Netscape™ Navigator) uses text and graphics to present information to auser. As shown, the text and graphics include information related to abusiness enterprise. The web-page 104 also includes a form 106 thataccepts user input. As shown, the form 106 includes a text entry control108, and a submit button 110. The form 106 also provides a graphic image112 designed to attract attention. As shown, the form assumes the shapetraditionally associated with banner-links (e.g., a bordered rectangle)but other shapes or formats could be used. The banner shape cancommunicate to a user that the form 106 is associated with a web-siteother than the site the user is currently visiting. The form 106 caninclude other user input controls (not shown), for example, checkboxesthat identify different areas of interest (e.g., “send me information ongolf clubs” and “send me information on golf vacations”).

Unlike a conventional banner-link, interaction with the form 106 doesnot transport the user to a different web-site. Instead, submittingentered information into the form (e.g., by typing information into thetext box and then clicking the submit button 110) transmits theinformation entered by the user to a remote web-server without changingthe current URL being displayed by the browser. The remote web-serveruses the transmitted information to select and deliver electroniccontent (e.g., text, graphics, audio, video, and executableinstructions) via e-mail. Co-pending U.S. patent application Ser. No.09/199,150 entitled “Tracking Electronic Content” filed Nov. 24, 1998,now issued as U.S. Pat. No. 6,751,670, describes an electronic contentdelivery system, and is incorporated by reference.

Referring to FIG. 4, as shown, a user has entered a network e-mailaddress into the text field 108 and clicked the submit button 110. Thisaction initiates transmission of the entered information to the remoteweb-server. After submitting the information, a window 114 appearsinforming a user that the information has been transmitted. The feedbackprovided by the window 114 prevents users from making repeatedsubmissions in the mistaken belief their request failed.

FIG. 5 shows the interface for an e-mail client. After the remoteweb-server has received the transmitted information, it selects theappropriate electronic content and e-mails the selected electroniccontent to the specified e-mail address. The requester then can view orotherwise access the delivered content using the e-mail client. Asshown, the electronic content may be transmitted as an e-mail attachment120. By delivering electronic content via e-mail, users can requestinformation without interrupting their use of a currently displayedweb-page 104 and without waiting for a linked site's web-page to load.Additionally, a business can deliver the content to an Internet userwithout the cost and expense of maintaining a web-site or reserving anInternet address.

Referring to FIG. 6, a network browser constructs a web-page'sappearance from web-page instructions 104. These instructions 104 can beexpressed in HTML (Hypertext Markup Language), Java, or other formats.When a user visits a web-page, the instructions 104 for the page aretransmitted to the user's computer for processing by the user's browser.The instructions 104 describe the appearance and behavior of web-pageelements. For example, the instructions describe the form 106, thegraphic image 112, the text control 108, and submit button 110. Theinstructions 104 include instructions 120 for transmitting collectedinformation to the remote web-server for processing. As shown, theinstructions 106 identify a program 122 at a remote web-server andspecify values for different parameters 124 a-124 c. The remote serverprogram processes the parameters to select electronic content to deliverto a specified e-mail address 108. As shown, the program is a CGI(Common Gateway Interface) script, however, programs written in otherprogramming languages can also process the collected information (e.g.,a Perl script or a Java or C++ program).

As shown, the instructions 106 transmit the e-mail address 124 cinteractively collected from a user and an identification of theelectronic content 124 b to deliver to the e-mail address specified 124c. Instead of hard-coding the content to deliver 124 b, the instructions120 can transmit an I.D. that identifies electronic content to transmit.For example, different I.D.s can be assigned to different sets ofinstructions 120. That is, an I.D. for the golf promotion form may be“001” while the I.D. for a car promotion form may be “002”. Though thesame instructions 120 can be incorporated into different web-pages, theremote server can use the I.D. to select the electronic content totransmit (e.g., information on the golf or car promotion). By using anI.D. instead of hard-coding a reference to electronic content,electronic content transmitted to a user can be easily altered.

The instructions 106 can be copied into different web-pages to reachmore web users. To identify the site that produced a request forelectronic content, the instructions 106 can transmit a siteidentification token 124 a of the site transmitting the information.This information can be hard-coded (as shown) or dynamically determinedby interacting with a browser's API (Application Programming Interface).By transmitting the site token 124 a, the remote web-server can identifywhich web-pages produced the most number of requests for content.

The instructions 106 can be configured to interactively collect a widevariety of information from a user in addition to an e-mail address.Such information can include demographic information (e.g., name,address, and age) or information describing a user's interests. Theelectronic content transmitted by the remote server can be selectedbased on this information.

Additionally, the instructions 106 can dynamically access a body ofinformation stored, for example, on the user's computer, and thentransmit that information to the remote web-server. For example, theinstructions can access a Windows™ registry on the user's computer tocollect user and system information relating to the computer executingthe instructions.

Though the instructions 106 shown produce a form, the instructions 106that collect an e-mail message by querying a user's computer (e.g., byaccessing the Windows™ registry) could instead present a simple pictureor text (e.g., “Click here for e-mail information on golf”). When a userclicks on the picture or text, the instructions 106 dynamically collectthe user's e-mail address and other information from the system andtransmit the collected information to the remote server withoutrequiring any data entry by the user.

Referring to FIG. 7A-7C, a remote web-server 132 delivers electroniccontent 138 based on a user's interaction with a web-page 104. As shownin FIG. 7A, a user's computer 126 runs browser software 128. When theuser navigates (e.g., by following a link or entering a URL) to aweb-site, the web server 130 for that web-site transmits web-pageinstructions 104 to the user's computer 126. The user's browser 126processes the web-page instructions 104 for display (as shown in FIG.3).

Referring to FIG. 7B, the web-page 104 includes instructions 106 forcollecting and transmitting information to the remote server 132. When auser submits a request for electronic content (e.g., clicking the submitbutton 110), the information 124 collected from a user and/or system istransmitted to the remote web-server 132. As described above, theinformation 124 includes an e-mail address and can include otherinformation such as an I.D. and/or the address of the site 126 producingthe request 124.

Referring to FIG. 7C, the remote web-server 132 includes a program 134for processing the transmitted information 124. The program 134 can be aCGI script or alternatively a Perl, Java, or C++ program. The remoteweb-server also stores electronic content 138 for transmission to arequesting user. The remote web-server 132 also may include a table 136that stores the electronic content 138 that should be sent in responseto an I.D. included received information. The remote web-server 132selects and transmits the electronic content 138 a via e-mail to thee-mail address specified in the received information 124.

The remote web-server 132 produces reports based on requests thatindicate which addresses received content, which web-pages producedcontent requests, and demographic information describing the user'srequesting information. Thus, businesses can closely track their effortsat reaching users.

The remote web-server 132 can store electronic content 138 correspondingto any number of different sets of instructions 106 (e.g., differentforms). Thus, a single web-server 132 can provide electronic contentdelivery for a large number of different businesses or organizations.Processing requests for content typically consumes considerablecomputational resources on the processing computer. In addition, storingthe content 138 typically requires a large volume of non-volatilestorage. By letting a remote web-server dedicated to processing requestshandle delivery and storage of content, the computers associated withthe various enterprises will not be slowed or otherwise burdened by theprocessing of requests during business hours.

Referring to FIG. 7D, the electronic content 138 may include electroniccontent 138 b such as text, graphics, audio, video, and/or executablefiles. Electronic content 138 may also include notification instructions138 c that may be executable instructions that collect and transmitnotification information. The notification instructions 138 c may beconfigured to control access to the electronic content 138 b. Further,different electronic content may use different file formats. Whenexecuted, notification instructions 138 c can determine whether aprevious attempt to access the electronic content 138 b resulted insuccess (e.g., successful transmission of notification information orreceipt of an access granting message). The notification instructions138 c may interactively collect notification information from arecipient. The notification instructions 138 c may interactively collectnotification information from a recipient. The notification instructions138 c may also collect information by querying the recipient's computersystem.

FIG. 7E is a flow diagram showing steps of processing the notificationinstructions, according to principles of the invention, starting at step700. At step 705, a check is made whether notification information wastransmitted successfully previously. If successful, then the processcontinues at step 730. Otherwise, if the notification information hasnot been successfully transmitted, then at step 710, notificationinformation may be collected. At step 715, an attempt to transmit thenotification information may be made. At step 720, a check may be madeto determine if the transmission of notification information wassuccessful. If not successful, then at step 722, access is denied to theelectronic content. If, however, the transmission of notificationinformation was successful, then at step 725, an indicator may be storedindicating successful transmission. At step 730, a prompt for a passwordmay occur. At step 735, a check may be made whether a correct passwordwas entered. If the password was not correctly entered then, at step750, an attempt to transmit notification information may occur. At step755, access to electronic content may be denied. If, however, a correctpassword was entered, or, if prompted for, then at step 740, access maybe granted to the electronic content (e.g., decompress and decrypt). Atstep 745, an attempt to transmit notification information may occur.

Referring to FIG. 8, the program 134 running on the remote web-server132 processes information to select and e-mail electronic content to aspecified e-mail address. After receiving a request for electroniccontent (140), the program 134 may repress transmission of informationto a user's browser (e.g., for example by issuing an “echo status: 202No Response” command). This command prevents a user's display from beingaltered.

The program 134 can use the I.D. to determine which electronic contentto send to a specified address (142). The program 134 can also analyzedemographic data included in the received information 124 to selectelectronic content for delivery. After selecting the electronic content,the program 134 can e-mail the determined content (144) to the e-mailaddress specified in the request 124.

Referring to FIG. 9, a computer platform 146 includes a monitor 148,input devices such as a keyboard 150 and mouse 151, and a digitalcomputer 152. The digital computer 152 includes memory 154, a processor156, a mass storage device 164 a (e.g., a hard disk) and a networkconnection 160 for transmitting and receiving data. The mass storagedevice 164 a includes instructions for an operating system 162 (e.g.,Windows™ 98), distribution software 134, and electronic content 138.These instructions can be stored in other computer readable mediums suchas a floppy disk 164 b, a CD-ROM drive 164 c, or other hardware such asan EPROM 164 d. In the course of operation, the stored instructions aretransferred to memory 154 and the processor 156 for execution.

The techniques described here are not limited to any particular hardwareor software configuration. The techniques may be implemented in hardwareor software, or a combination of the two. Preferably, the techniques areimplemented in computer programs executing on programmable computersthat each include a processor, a storage medium readable by theprocessor (including volatile and non-volatile memory and/or storageelements), at least one input device, and one or more output devices.Program code is applied to data entered using the input device toperform the functions described and to generate output information. Theoutput information is applied to one or more output devices.

Each program is preferably implemented in a high level procedural orobject oriented programming language to communicate with a computersystem. However, the programs can be implemented in assembly or machinelanguage, if desired. In any case, the language may be a compiled orinterpreted language.

Each such computer program is preferably stored on a storage medium ordevice (e.g., CD-ROM, hard disk or magnetic diskette) that is readableby a general or special purpose programmable computer for configuringand operating the computer when the storage medium or device is read bythe computer to perform the procedures described in this document. Thesystem may also be considered to be implemented as a computer-readablestorage medium, configured with a computer program, where the storagemedium so configured causes a computer to operate in a specific andpredefined manner.

Other embodiments are within the scope of the following claims.

1. A computer-implemented method of delivering electronic content, themethod comprising the steps of: providing instructions that causes afirst computer to dynamically transmit a network address to a secondcomputer in response to a request for data; processing the request fordata at the second computer; transmitting the requested data to thenetwork address; receiving notification information from across anetwork as a result of an attempt to access the requested data; andwherein the instructions include executable instructions configured to:a) attempt to transmit the notification information based upon theattempt to access the requested data, and b) grant or deny access to therequested data based on the results of the attempt to transmit.
 2. Thecomputer-implemented method of claim 1, wherein the executableinstructions collect the notification information.
 3. Thecomputer-implemented method of claim 1, wherein the step for providinginstructions comprises providing web-page instructions.
 4. Thecomputer-implemented method of claim 3, wherein the web-pageinstructions comprise at least one of: HTML instructions and forminstructions.
 5. The computer-implemented method of claim 1, wherein theinstructions comprise instructions that query the computer forinformation.
 6. The computer-implemented method of claim 1, wherein theinstructions comprise instructions that receive user input.
 7. Thecomputer-implemented method of claim 1, wherein the requested datacomprises demographic information.
 8. The computer-implemented method ofclaim 1, wherein the requested data comprises system information.
 9. Thecomputer-implemented method of claim 1, wherein the network addressidentifies the first computer.
 10. The computer-implemented method ofclaim 9, further comprising the step of presenting an invitation torequest the data, prior to the providing step.
 11. Thecomputer-implemented method of claim 1, wherein the network addresscomprises an identifier associated with a user using the first computer.12. The computer-implemented method of claim 1, wherein the requesteddata comprises at least any one of: text, video, computer instructionsand audio information.
 13. The computer-implemented method of claim 1,wherein the requested data comprises graphics information.
 14. Thecomputer-implemented method of claim 1, wherein the step of processingcomprises selecting the electronic content based on the receivednotification information.
 15. The computer-implemented method of claim1, wherein the notification information includes at least any one of:identification of the instructions that transmitted the notificationinformation, and identification of an electronic device that transmittedthe notification information.
 16. A computer-implemented method ofdelivering electronic content, the method comprising the steps of:providing web-page instructions that induces a first computer todynamically transmit an network address to a second computer in responseto a request for data; processing the request at the second computer toselect electronic content and transmitting the electronic content to thenetwork address; receiving notification information from the networkaddress triggered by an event; and wherein the instructions includeexecutable instructions are configured to: a) attempt to transmit thenotification information based on the event, and b) selectively grant ordeny access to the electronic content based on results of the attempt totransmit.
 17. The computer-implemented method of claim 16, wherein theexecutable instructions are configured to collect the notificationinformation.
 18. The computer-implemented method of claim 16, whereinthe network address is associated with a user requesting the data. 19.The computer-implemented method of claim 17, wherein the requested datacomprises at least any one of: text, video, computer instructions andaudio information.
 20. A computer-implemented method of providing accessto electronic content, the method comprising the steps of: initiating adisplay in a browser of a web-page that includes a link corresponding toelectronic content; receiving, in response to a selection of the link,dynamically transmitted information including a network address at aserver; initiating transmission of the electronic content to the networkaddress, wherein the electronic content includes executableinstructions; receiving notification information as a result of anattempt to access the electronic content; and wherein the executableinstructions are configured to: a) attempt to transmit the notificationinformation based on a triggering event, and b) selectively grant ordeny access to the electronic content based on results of the attempt totransmit.
 21. The computer-implemented method of claim 20, wherein theexecutable instructions are configured to collect the notificationinformation.
 22. The computer-implemented method of claim 21, whereinthe initiating transmission step initiates transmission of theelectronic content from the server.
 23. The computer-implemented methodof claim 22, wherein the network address is associated with a selectorof the link.
 24. The computer-implemented method of claim 20, whereinthe electronic content comprises at least any one of: text, video,computer instructions and audio information.
 25. Thecomputer-implemented method of claim 20, wherein the network addresscomprises an email address.
 26. A computer program, disposed on computerreadable medium, the computer program including computer interpretablelogic to cause execution of the steps for: providing instructions thatcauses a first computer to dynamically transmit a network address to asecond computer in response to a request for data; processing therequest for data at the second computer; transmitting the requested datato the network address; receiving notification information from across anetwork as a result of an attempt to access the requested data; andwherein the instructions include executable instructions configured to:a) attempt to transmit the notification information based upon anattempt to access the requested data, and b) grant or deny access to therequested data based on the results of the attempt to transmit.
 27. Thecomputer program product of claim 26, wherein the instructions collectthe notification information.
 28. The computer program product of claim26, wherein the step for providing instructions comprises providingweb-page instructions.
 29. The computer program product of claim 28,wherein the web-page instructions comprise at least any one of: HTMLinstructions and form instructions.
 30. The computer program product ofclaim 26, wherein the instructions comprise instructions that query thecomputer for information.
 31. The computer program product of claim 26,wherein the instructions comprise instructions that receive user input.32. The computer program product of claim 26, wherein the requested datacomprises demographic information.
 33. The computer program product ofclaim 26, wherein the requested data comprises system information. 34.The computer program product of claim 26, wherein the network addressidentifies the first computer.
 35. An apparatus for delivering access toelectronic content, comprising: means for initiating a display in abrowser of a web-page that includes a link corresponding to electroniccontent in a computer system; means for receiving at a server, inresponse to a selection of the link, dynamically transmitted informationincluding a network address; means for initiating transmission of theelectronic content to the network address, wherein the electroniccontent includes executable instructions; means for receivingnotification information as a result of an attempt to access theelectronic content; and wherein the executable instructions areconfigured to: a) attempt to transmit the notification information basedon a triggering event, and b) selectively grant or deny access to theelectronic content based on results of the attempt to transmit.
 36. Theapparatus of claim 35, wherein the executable instructions areconfigured to collect the notification information.
 37. The apparatus ofclaim 35, wherein the means for initiating transmission initiatestransmission of the electronic content from the server.
 38. Theapparatus of claim 35, wherein the network address is associated with aselector of the link.
 39. The apparatus of claim 35, wherein theelectronic content comprises at least any one of: a text file, a videofile, a computer instructions file and an audio information file. 40.The apparatus of claim 35, wherein the network address is an emailaddress.